<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Error Reporting</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="migration52.newconf.html">New INI Configuration Directives</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="migration52.other.html">Other Enhancements</a></div>
 <div class="up"><a href="migration52.html">Migrating from PHP 5.1.x to PHP 5.2.x</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="migration52.errorrep" class="section">
  <h2 class="title">Error Reporting</h2>
  <p class="para">
   Some of the existing <strong><code>E_ERROR</code></strong> conditions have been
   converted to something that can be caught with a user-defined error
   handler.  If an <a href="errorfunc.constants.html" class="link"><strong><code>E_RECOVERABLE_ERROR</code></strong></a>
   is not handled, it will behave in the same way as
   <strong><code>E_ERROR</code></strong> behaves in all versions of PHP.  Errors of
   this type are logged as <em>Catchable fatal error</em>.
  </p>
  <p class="para">
   This change means that the value of the <strong><code>E_ALL</code></strong>
   <a href="errorfunc.configuration.html#ini.error-reporting" class="link">error_reporting</a> constant is 
   now 6143, where the previous value was 2047. Because PHP constants have 
   no meaning outside of PHP, in some cases the integer value is used 
   instead so these will need to be adjusted. So for example by
   setting the error_reporting mode from either the
   <a href="apache.configuration.html" class="link">httpd.conf</a> or the
   <var class="filename">.htaccess</var> files, the value has to be changed
   accordingly.  The same applies when the numeric values are used
   rather than the constants in PHP scripts.
  </p>
  <p class="para">
   As a side-effect of a change made to prevent duplicate error messages when
   <a href="errorfunc.configuration.html#ini.track-errors" class="link">track_errors</a> is
   <em>On</em>, it is now necessary to return <strong><code>FALSE</code></strong> from
   user defined error handlers in order to populate
   <var class="varname"><var class="varname"><a href="reserved.variables.phperrormsg.html" class="classname">$php_errormsg</a></var></var>.  This
   provides a fine-grain control over the levels of messages stored.
  </p>
 </div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="migration52.newconf.html">New INI Configuration Directives</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="migration52.other.html">Other Enhancements</a></div>
 <div class="up"><a href="migration52.html">Migrating from PHP 5.1.x to PHP 5.2.x</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>
